Skip to main content

Català

Índex

  1. Conectar-se al xip
    1. Entorn python
    2. Qiboconnection
  2. Executar feines
    1. Executar a cues
    2. Veure feines executades

Connectar-se al xip

IMPORTANT

Els comptes són d'ús personal i intransferible.

Entorn python

L'accés remot serà possible amb l'ús de la llibreria de python “qiboconnection”. És necessari tenir un entorn de python amb la versió mínima 3.10. Es pot fer amb eines com conda o venv.

pip install qiboconnection

Qiboconnection

Importarem la classe API de qiboconnection per poder interactuar amb el xip.

from qiboconnection.api import API
from qiboconnection.connection import ConnectionConfiguration

Un cop importat, serà necessari introduir les credencials.

configuration = ConnectionConfiguration(username = "USER",api_key = "API_KEY")
connection = API( configuration = configuration)

Executar feines

Executar a cues

Per enviar treballs al xip, s'ha de seleccionar el dispositiu. Per llistar tots els dispositius disponibles:

connection.list_devices()

Seleccionarem el xip quàntic, normalment amb l'id = 9.

connection.select_device_ids(device_ids=9)

Ara ja podem preparar el circuit que volem enviar.

from qibo.models import Circuit
from qibo import gates
circuit = Circuit(nqubits = 1)
circuit.add(gates.X(0))
circuit.add(gates.M(0))

Llavors executem el circuit, que serà enviat a la cua.

job_ids = connection.execute(circuit=circuit)

Podem anar veient l'estat del treball i el resultat quan aquest acabi amb aquesta trucada a l'API:

results = connection.get_results(job_ids=job_ids)

Veure feines executades

Per poder veure tots els treballs executats, hem de fer ús de l'API.

Obtenir tots els treballs:
jobs_df = connection.list_jobs().dataframe
Obtenir les que estan pendents:
jobs_df[(jobs_df['job_type']=='circuit') & (jobs_df['status']=='pending')]
Obtenir el circuit:
circuit_data = connection.get_job(job_id=1)
circuit_data.description.draw()
Obtenir el resultat:
circuit_data.result